﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Sistema.Dominio;
using System.Collections;
using Sistema.Util;


namespace Sistema.WF.Componentes.UserControls
{
    public partial class R2Telefone : UserControl
    {
       
        public R2Telefone()
        {
            InitializeComponent();
            //this.CBO_tipoTelefone.DataSource = this.CarregaMinhaCombo<enumTipoTelefone>();
           
        }

        private DictionaryEntry[] CarregaMinhaCombo<T>()
        {
            String[] Itens = Enum.GetNames(typeof(T));
            DictionaryEntry[] resultado;
            resultado = new DictionaryEntry[Itens.Length];
            for (Int32 a = 0; a < Itens.Length; a++)
            {
                resultado[a] = new DictionaryEntry(a, Itens[a]);
            }
            return resultado;
        }

        #region Get's and Set's

        [Browsable(false)] // => define se aparecera na aba de property
        [EditorBrowsable(EditorBrowsableState.Never)]// => define se pode ser editado na aba de property
        [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]// => define se a property sera serializada 
        public TelefoneVO Telefone
        {
            get { return RecolheDadosTela(); }
            set { CarregaDadosTela(value); }
        }
        
        private TelefoneVO RecolheDadosTela()
        {
            TelefoneVO retorno = new TelefoneVO();

            retorno.Numero = MKT_telefone.Text;
            retorno.Ramal = TXT_ramal.Text;
            //retorno.Observacao = TXT_observacao.Text;
            retorno.TipoTelefone = (enumTipoTelefone) Enum.Parse(typeof(enumTipoTelefone), CBO_tipoTelefone.Text,true);
          

            return retorno;
        }

        private void CarregaDadosTela(TelefoneVO value)
        {
            MKT_telefone.Text = value.Numero;
            TXT_ramal.Text = value.Ramal;
            //TXT_observacao.Text = value.Observacao;
            CBO_tipoTelefone.Text = value.TipoTelefone.ToString();
            
        }

        /*private bool getEstadoCheck()
        {
            bool _estado;

            if (CHK_fax.CheckState == CheckState.Checked)
                _estado = true;
            else
                _estado = false;

            return _estado;
        }

        private CheckState setEstadoCheck(TelefoneVO value)
        {
            CheckState _check;
            if (value.Fax == true)
                _check = CheckState.Checked;
            else
                _check = CheckState.Unchecked;

            return _check;
        }*/

        public void LimparCampos()
        {
            MKT_telefone.Clear();
            TXT_ramal.Clear();
            //TXT_observacao.Clear();
            CBO_tipoTelefone.Text = "";
   
        }
        #endregion

        private void R2Telefone_Load(object sender, EventArgs e)
        {
           ComboHelper.CarregaCombo<enumTipoTelefone>(this.CBO_tipoTelefone);
            
        }

        #region Validade

       
        #endregion
    }

    
}
